﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace CoreGallery.Addins.Contracts
{
    /// <summary>
    /// Defines a transformation operation on a photo such as lighting, color, or rotation.
    /// </summary>
    public interface ITransformAddinBase : ICoreAddinBase
    {
        // TODO: Clearly other data must be passed in...
        void PerformTransform(CoreGallery.Addins.Contracts.BasePhoto p);
        void PreviewTransform(CoreGallery.Addins.Contracts.BasePhoto p);

        /// <summary>
        /// Should bundle up data to perform transformation and add it to application transformation stack
        /// </summary>
        /// <param name="p"></param>
        void QueueTransform(CoreGallery.Addins.Contracts.BasePhoto p);

        bool SupportsOptionsDialog{ get; }
        void ShowOptionsDialog();
        

    }
}
